如果server需要記住client的資料時,此時需要cookies與session的協助。
上一篇筆記cookies,今天分享的是session。
session和cookies很類似,
當你瀏覽網頁時,session 也會儲存各種資訊。
包含個人資訊(例如:姓名、電子信箱...)。
1. session儲存在伺服器(server)端
2. session大多存較敏感的資料
例如:
A麵包店採用cookies的做法如下-
A麵包店的會員卡,上面有加蓋集點章(記錄過去的消費次數),
還標註此張會員到今年年底到期。
cookies的做法就是將資料存到客戶端(會員),
個人比較資料容易被取得,不建議存取較機密個資。
B麵包店採用session的做法如下-
B麵包店的會員卡,上面只有標註會員卡號。
session的做法就是將資料存到伺服器端(店家),
個人比較資料較不容易被取得,大多存取較機密個資。
例如:
你去百貨公司的美食街點餐,點完餐之後,店員會給你號碼單,
店家可以透過你的號碼單知道你的餐點內容。
簡單來說:
店家=server
號碼單=cookie
號碼=session id
店家藉由號碼單得知你的號碼,
再透過號碼知道你的餐點內容。
server藉由cookie得知你的session id,
再透過session id知道你的資料。
小結:
server會傳送存有session id的cookie給客戶端(client),
之後client在瀏覽網頁時都會夾帶此session id,
這樣server就可以透過session id 來取得用戶的資料。
WEB 技術中的 SESSION 是什麼?
http://fred-zone.blogspot.tw/2014/01/web-session.html
Cookies 和 Session 的神秘關係
http://andikan.github.io/blog/2012/10/03/cookie-and-session/